if "db" not in globals():
    from floodorama import db

tdcols = [db.Column("ffid", db.Integer, primary_key=True, index=True), ] + \
         [db.Column("hour%s" % str(i), db.Integer, default=0) for i in range(0, 24)] + \
         [db.Column("month%s" % str(i), db.Integer, default=0) for i in range(1, 13)] + \
         [db.Column("weekday%s" % str(i), db.Integer, default=0) for i in range(1, 7)]


class Timedata(db.Model):
    ffid = db.Column(db.Integer, primary_key=True, index=True)
    hour0 = db.Column(db.Integer, default=0)
    hour1 = db.Column(db.Integer, default=0)
    hour2 = db.Column(db.Integer, default=0)
    hour3 = db.Column(db.Integer, default=0)
    hour4 = db.Column(db.Integer, default=0)
    hour5 = db.Column(db.Integer, default=0)
    hour6 = db.Column(db.Integer, default=0)
    hour7 = db.Column(db.Integer, default=0)
    hour8 = db.Column(db.Integer, default=0)
    hour9 = db.Column(db.Integer, default=0)
    hour10 = db.Column(db.Integer, default=0)
    hour11 = db.Column(db.Integer, default=0)
    hour12 = db.Column(db.Integer, default=0)
    hour13 = db.Column(db.Integer, default=0)
    hour14 = db.Column(db.Integer, default=0)
    hour15 = db.Column(db.Integer, default=0)
    hour16 = db.Column(db.Integer, default=0)
    hour17 = db.Column(db.Integer, default=0)
    hour18 = db.Column(db.Integer, default=0)
    hour19 = db.Column(db.Integer, default=0)
    hour20 = db.Column(db.Integer, default=0)
    hour21 = db.Column(db.Integer, default=0)
    hour22 = db.Column(db.Integer, default=0)
    hour23 = db.Column(db.Integer, default=0)
    weekday1 = db.Column(db.Integer, default=0)
    weekday2 = db.Column(db.Integer, default=0)
    weekday3 = db.Column(db.Integer, default=0)
    weekday4 = db.Column(db.Integer, default=0)
    weekday5 = db.Column(db.Integer, default=0)
    weekday6 = db.Column(db.Integer, default=0)
    weekday7 = db.Column(db.Integer, default=0)
    month1 = db.Column(db.Integer, default=0)
    month2 = db.Column(db.Integer, default=0)
    month3 = db.Column(db.Integer, default=0)
    month4 = db.Column(db.Integer, default=0)
    month5 = db.Column(db.Integer, default=0)
    month6 = db.Column(db.Integer, default=0)
    month7 = db.Column(db.Integer, default=0)
    month8 = db.Column(db.Integer, default=0)
    month9 = db.Column(db.Integer, default=0)
    month10 = db.Column(db.Integer, default=0)
    month11 = db.Column(db.Integer, default=0)
    month12 = db.Column(db.Integer, default=0)

    def inc(self, item, delta):
        if '-' in item: return
        self.__setattr__(item, self.__getattribute__(item) + delta)


class JoinedData(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    first = db.Column(db.Integer, default=0, index=True)
    second = db.Column(db.Integer, default=0, index=True)
    comment_count = db.Column(db.Integer, default=0)
    comment_len = db.Column(db.Integer, default=0)


class User(db.Model):
    ffid = db.Column(db.Integer, index=True, primary_key=True)
    name = db.Column(db.String(100), index=True)
    post_count = db.Column(db.Integer, default=0, index=True)
    comment_count = db.Column(db.Integer, default=0, index=True)
    comment_length = db.Column(db.Integer, default=0, index=True)
    post_length = db.Column(db.Integer, default=0, index=True)
    likecount = db.Column(db.Integer, default=0, index=True)





